package TDAList;

/**
 * Clase que sirve para crear nodos doblemente enlazados, 
 * los cuales se usan para crear estructuras enlazadas.
 * 
 * @author Gonzalo Arró
 *
 * @param <E> tipo genérico para los elementos de los nodos.
 */
public class DNodo<E> implements Position<E> {
	
	// Atributos de instancia
	
	private DNodo<E> anterior;
	private DNodo<E> siguiente;
	private E elemento;
	
	// Constructores
	
	public DNodo () {
		this(null,null,null);
	}
	
	public DNodo (E elemento) {
		this (elemento,null,null);
	}
	
	public DNodo (E elemento, DNodo<E> anterior, DNodo<E> siguiente) {
		this.elemento = elemento;
		this.anterior = anterior;
		this.siguiente =siguiente;
	}
	
	// Métodos
	
	public E getElemento () {
		return elemento;
	}
	
	public void setElemento (E elemento) {
		this.elemento = elemento;
	}
	
	public DNodo<E> getSiguiente () {
		return siguiente;
	}
	
	public void setSiguiente (DNodo<E> siguiente) {
		this.siguiente = siguiente;
	}
	
	public DNodo<E> getAnterior () {
		return anterior;
	}
	
	public void setAnterior (DNodo<E> anterior) {
		this.anterior = anterior;
	}
	
	public E element () {
		return elemento;
	}

}
